package com.jdd.modules.mqtt.server.send;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jdd.common.constant.Send;
import com.jdd.feign.MqttFegin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.integration.mqtt.support.MqttHeaders;
import org.springframework.messaging.handler.annotation.Header;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author liujunwei
 * @since 2021-02-08
 */

public class ISendMqttService {
    @Autowired
    MqttFegin feginClient;
    /**
     * 发送信息到MQTT服务器 （指定主题）
     */
    void sendToMqtt(JSONObject payload,String sn){
        // TODO: 2022/9/28 传入payload，sn，生成topic，client_id，cmd_id，最后生成Send类

//        feginClient.sendMessageWithTopic(data);
    }

    /**
     * 发送信息到MQTT服务器
     *
     * @param topic 主题
     * @param qos 对消息处理的几种机制。
     * 0 表示的是订阅者没收到消息不会再次发送，消息会丢失。
     * 1 表示的是会尝试重试，一直到接收到消息，但这种情况可能导致订阅者收到多次重复消息。
     * 2 多了一次去重的动作，确保订阅者收到的消息有一次。
     * @param payload 消息主体
     */
    void sendToMqtt(JSONObject payload,String sn,int qos){

//        feginClient.sendMessageWithTopicAndQos();
        // TODO: 2022/9/28 传入payload，sn，qos，生成topic，client_id，cmd_id，最后生成Send类
    }
}
